home *** CD-ROM | disk | FTP | other *** search
- /*
- _bench.rexx
-
- Check speed of your system
-
- © 2002 Edgar Schwan
-
- $VER: _bench.rexx 1.0 (18.3.2002)
- */
-
- PARSE ARG portname ' ' .
- IF LENGTH(portname) = 0 THEN
- ADDRESS FLASHMANDEL.1;
- ELSE
- ADDRESS VALUE portname;
-
- OPTIONS RESULTS;
- OPTIONS FAILAT 21;
-
- IF ~SHOW('L','rexxsupport.library') THEN /* load 'rexxsupport.library' */
- CALL ADDLIB('rexxsupport.library',0,-30);
-
- Ver = "1.0"
- portname = ADDRESS();
- OUTCON = "CON:10/10/550/300/Benchmark/SCREEN " || portname;
-
- IF OPEN('out', OUTCON, 'RW') THEN DO
- WRITELN('out', "FlashMandelWOS-Benchmark V" || Ver);
- WRITELN('out', "");
- WRITELN('out', "Are you sure to start this benchmark-script?");
- WRITELN('out', "It will need some time, even when you own a PPC.");
- WRITECH('out', "Please select: (Y/N) ");
- choice = READLN('out');
- IF UPPER(choice) = 'Y' THEN DO
-
- elapsed = 0; /* load mandelbrot-default */
- CLOSE('out');
- 'LOAD_PICTURE' 'FLASHMANDEL:pictures/Mandelbrot_def.iff'/* 'FAST'*/
- ADDRESS COMMAND;
- DO WHILE SHOW('P', portname)
- CALL DELAY(10);
- END
- ADDRESS COMMAND 'sys:Rexxc/WaitForPort' portname;
- ADDRESS VALUE portname;
- OPEN('out', OUTCON, 'RW');
-
- 'GET_SCREENATTRS' 'ATTRS'
- WRITELN('out', "FlashMandelWOS-Benchmark V" || Ver);
- WRITELN('out', "");
- WRITELN('out', "- Press Ctrl-C to abort! -");
- WRITELN('out', "");
- WRITELN('out', " Your actual screen-dimensions:" );
- WRITELN('out', " - width: " ATTRS.WIDTH);
- WRITELN('out', " - height:" ATTRS.HEIGHT);
- WRITELN('out', " - depth: " ATTRS.DEPTH);
- WRITELN('out', "");
-
- WRITELN('out', " loading mandelbrot-default... ready");
- WRITELN('out', "");
-
- WRITECH('out', " Rendering julia... "); /* render julia */
- 'SET_FRACTAL_TYPE 1'
- COORDS.RMIN = -1.043750
- COORDS.RMAX = 0.036250
- COORDS.IMIN = -0.251250
- COORDS.IMAX = 0.558750
- COORDS.JKRE = -0.704631
- COORDS.JKIM = 0.268573
- 'SET_COORDINATES' 'COORDS'
- 'START_TIMER'
- 'RENDER' 'FORCE'
- 'STOP_TIMER'
- elapsed = elapsed + RESULT;
-
- WRITELN('out', " elapsed (so far):" elapsed "seconds");
- WRITELN('out', "");
-
- WRITECH('out', " Rendering mandelbrot... "); /* render mandelbrot */
- 'SET_FRACTAL_TYPE 2'
- COORDS.RMIN = -0.749892
- COORDS.RMAX = -0.749181
- COORDS.IMIN = -0.045473
- COORDS.IMAX = -0.044939
- COORDS.JKRE = -0.720000
- COORDS.JKIM = -0.260000
- 'SET_COORDINATES' 'COORDS'
- 'START_TIMER'
- 'RENDER' 'FORCE'
- 'STOP_TIMER'
- elapsed = elapsed + RESULT;
-
- WRITELN('out', " elapsed (so far):" elapsed "seconds");
- WRITELN('out', "");
-
- IF ATTRS.DEPTH > 2 THEN DO
- WRITECH('out', " Cycle colors... "); /* cycle colors */
- 'GET_PALETTE' 'COLORS'
- NumColors = (2 ** ATTRS.DEPTH);
- 'START_TIMER'
- DO i = 4 TO (NumColors - 2)
- temp = COLORS.4;
- DO s = 4 TO (NumColors - 2)
- next_col = s + 1;
- COLORS.s = COLORS.next_col;
- END;
- last = NumColors - 1;
- COLORS.last = temp
- 'SET_PALETTE' 'COLORS' 'FAST'
- END;
- 'STOP_TIMER'
- elapsed = elapsed + RESULT;
-
- WRITELN('out', " elapsed (so far):" elapsed "seconds");
- WRITELN('out', "");
- END
-
- WRITELN('out', "");
- WRITELN('out', " <Please press a key>");
- READLN('out');
- END
-
- CLOSE('out');
- END
-
- EXIT 0;
-